/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package otcapp.controlador.modeloTablas;

import otcapp.dto.PiezaDTO;
import otcapp.utiles.UtilesFechas;

/**
 *
 * @author diego
 */
public class ModeloTablaPiezas extends ModeloTabla {

    public ModeloTablaPiezas() {
        super("Identificación", "Interno/a","Fecha Entrada", "Fecha Salida", "Destino", "Tipo Pieza", "Asunto", "Seguimiento", "Días en OTC");
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {

        if (getListaElementos() == null) {
            return null;
        }
        PiezaDTO pieza = (PiezaDTO) getListaElementos().get(rowIndex);
        switch (columnIndex) {
            case 0:
                return pieza.getIdentificacion();
            case 1: return pieza.getInterno().getApellidoNombre();
            case 2:
                return UtilesFechas.formatearADiaMesAnio(pieza.getFechaEntrada());
            case 3:
                return (pieza.getFechaSalida() != null) ? UtilesFechas.formatearADiaMesAnio(pieza.getFechaSalida()) : "";
            case 4:
                if (pieza.getDestinoPieza() != null) {
                    return pieza.getDestinoPieza().getNombreOficina();
                }else{
                    return "";
                }
            case 5:
                return pieza.getTipo().getNombreTipo();
            case 6:
                return pieza.getCodigosAsuntos();
            case 7:
                return pieza.getUbicacion();
            case 8:
                return (pieza.isFinalizada()) ? pieza.getDiasOTC() + "(Finalizada)" : pieza.getDiasOTC();
            default:
                return "";

        }

    }

    @Override
    public void addRow(Object newObject) {
        PiezaDTO pieza = (PiezaDTO) newObject;
        for (Object object : getListaElementos()) {
            if (((PiezaDTO) object).getId().equals(pieza.getId())) {
                getListaElementos().remove(object);
            }
            super.addRow(newObject);
            return;
        }
        super.addRow(newObject);
    }

    @Override
    public int getColumnCount() {
        return 9;
    }
    
    
    
}
